草庐IT

Ruby File 类和方法

全部标签

c# - 定义两个具有相同参数类型的方法

今天我遇到了一个场景,我必须创建一个与现有方法共享相同的名称、参数计数和参数类型的方法,如下所示:publicstaticDepartmentGetDepartment(stringdepartmentName){//LOGIC}publicstaticDepartmentGetDepartment(stringemployeeID){//LOGIC}乍一看我只是说为什么不换个名字把事情搞定,但我做不到!我确实想保持我正在处理的代码的可读性,我希望它重载到第一个,所以我说为什么不添加一个假参数只是为了从编译器的角度解决这个问题。publicstaticDepartmentGetDepa

c# - SQL Server 插入、更新、选择的最快方法

我使用SP,这不是SP与代码隐藏“构建您的SQL命令”的问题。我正在为处理许多小事务的后端应用程序寻找一种高吞吐量方法。我将SQLDataReader用于大部分返回,因为forward仅适用于大多数情况。我已经看到它以多种方式完成,并且我自己使用了其中的大部分。定义和接受存储过程参数作为参数本身并使用cmd.Parameters.Add构建的方法(指定或不指定DB值类型和/或长度)将您的SP参数及其值组装到一个数组或哈希表中,然后传递给一个更抽象的方法来解析集合,然后运行​​cmd.Parameters.Add表示表的类,根据需要初始化类,设置表示表字段的公共(public)属性,调用

c# - 命名空间 c# 中的方法

有没有什么方法可以调用命名空间内的函数而无需在c#中声明类。例如,如果我有2个完全相同的方法并且应该在我的所有C#项目中使用,是否有任何方法可以将这些函数制作成一个dll,然后只说“使用myTwoMethods”top并在不声明类的情况下开始使用这些方法?现在,我做的是:我的类.我的方法();我想做的是:我的方法();谢谢,罗希特 最佳答案 2015年更新:不,您不能在C#中创建“自由函数”,但从C#6开始,您将能够在不提及类名的情况下调用静态函数。C#6willhavethe"usingstatic"feature允许这种语法:s

c# - 在 C# 中,比较字符串与 null 和 ""返回 true 的最佳方法是什么

我有以下代码(因为我正在尝试检测字段的更改)if(person.State!=source.State){//updatemydata..}问题是我遇到了person.State为NULL且source.State为""并因此返回true的情况。如果一个为null而另一个为空字符串,我想将它们视为相等并且不更新我的数据。最干净的方法是什么?我是否需要创建自己的Comparer对象,因为这似乎是一个普遍的问题 最佳答案 如果你真的需要,你可以这样做:if((person.State??string.Empty)!=(source.St

c# - 如何取消方法的执行?

假设我在C#中执行方法“Method1”。一旦执行进入方法,我会检查几个条件,如果其中任何条件为假,则应停止执行Method1。我该怎么做,即可以在满足特定条件时执行方法。?但是我的代码是这样的,intMethod1(){switch(exp){case1:if(condition)//dothefollowing.**else//Stopexecutingthemethod.**break;case2:...}} 最佳答案 使用return语句。if(!condition1)return;if(!condition2)return

c# - 防止字符串转换为 Null 失败的最佳方法

_callReportCode=reader["CallReportCode"].ToString();我正在尝试处理调用ToString的对象为NULL的可能性。我将使用带有多个变量的上述语句,我不想​​为每个变量单独尝试/捕获...对字符串进行空值检查的最佳方法是什么。其他数据类型我一直这样做:int.TryParse(reader["AccountNumber"].ToString(),out_accountNumber);在此代码中,“reader”指的是SqlDataReader,但这对这个问题来说并不重要。 最佳答案 使

c# - 从集合中按索引获取一组项目的最优雅方法是什么?

给定IListindexes;ICollectioncollection;根据indexes中提供的索引提取collection中所有T的最优雅的方法是什么?例如,如果集合包含"Brian","Cleveland","Joe","Glenn","Mort"和包含的索引1,3返回的是"Cleveland,""Glenn"编辑:假设indexes总是升序排列。 最佳答案 这假设索引序列是非负索引的单调升序序列。该策略很简单:对于每个索引,将集合中的枚举数增加到该点并生成元素。publicstaticIEnumerableGetIndex

c# - IEnumerator 是否有 "HasNext"方法?

对于JavaIterator,我使用了hasNext方法来确定迭代是否有更多元素(不消耗元素)——因此,hasNext类似于“Peek”方法。我的问题:C#的通用IEnumerator是否有类似“hasNext”或“Peek”的方法? 最佳答案 不,但在C#中,您可以重复请求当前元素而不移动到下一个元素。这只是一种不同的看待方式。编写C#类以采用.NET风格的IEnumerator并返回Java风格的Iterator并不难>。就我个人而言,我发现.NET风格在大多数情况下更容易使用,但我们开始了:)编辑:好的,这完全未经测试,但我认

c# - 将类型 'var' 传递给 C# 中的方法

这个问题在这里已经有了答案:HowcanIreturnananonymoustypefromamethod?(4个答案)关闭9年前。我有一些数据类型为var的子查询。这些正在处理数据表。我想将这些传递给另一种方法,我该怎么做?例如:varsubquery1=fromresultsintable.AsEnumerable()where//someconditionselectnew{column1=results.field1,column2=results.field2etc.,}varsubquery2=fromresultsintable.AsEnumerable()where//

c# - 为什么 C# 中的方法不是自动虚拟的?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:WhyC#implementsmethodsasnon-virtualbydefault?定义哪些方法不可覆盖而不是哪些是可覆盖的工作要少得多,因为(至少对我而言),当你设计一个类时,你不关心它的继承人是否会覆盖你的方法......那么,为什么C#中的方法不是自动虚拟的?这里面的常识是什么?